With emerging realistic applications in various areas such as wireless healthcare and smart home, wireless sensor networks need to provide quality of service (QoS) in an energy-efficient way. A wireless sensor network (WSN) is generally composed of one or more sinks (or base stations) and tens or thousands of sensor nodes scattered in a physical space. Sensor nodes sense the physical information, process the sensed information, and report the processed information to the sink, which can query information and even control the behavior of the sensor nodes. WSNs can be used to monitor events and collect data in some special environments where other networks are difficult or costly to be deployed. Therefore, WSNs are usually event-oriented and data-centric, and have several distinctive features:                Unique Network Topology. The sensors nodes are usually organized into a multi-hop star-tree topology, which could be either flat or hierarchical. The sink sitting at the root of the tree plays the role of information collection and relaying to exterior networks. The topology of a WSN can be highly variable and dynamic due to node mobility and the depletion of energy.        Diverse Applications. A WSN can be used to support diverse applications ranging from habitat monitoring and target tracking to security surveillance and so forth [1]. These applications may be interested in different sensory data and therefore have different requirements on quality of service (QoS) and reliability.        Traffic Characteristics. In a WSN, traffic usually flows upstream from the sensor nodes to the sink although the sink may occasionally generate certain downstream traffic for the purpose of control and management. The traffic models of different applications can be classified into four types: event-driven delivery, continuous delivery, query-driven delivery, and hybrid delivery. For example, in event-driven delivery, the sensor nodes start event reporting only if the target events (e.g., the temperature is below zero) have been sensed.        Resource Constraints. Despite diverse commercially available sensor products [2], sensor nodes usually have limited resources, including low computation capability, small memory size, low communication bandwidth, and finite and un-rechargeable battery. The limitation of resources narrows the designing space of various protocols and algorithms for WSNs.        Small Message Size. Messages in WSNs usually have a small size compared with those in other networks. For this reason, there is usually no concept of segmentation in most applications of WSNs.        
The performance of a wireless sensor network can be evaluated based on different metrics such as QoS and energy-efficiency. Different applications might have different requirements on these performance metrics.
One requirement is energy-efficiency. A sensor node usually has limited energy. For this reason, it is most important for a transport protocol to keep high energy-efficiency in order to prolong the network lifetime. Due to bit errors and/or congestion, packet loss is common in a WSN. For loss-sensitive applications packet loss leads to retransmission and inevitably consumes additional energy. Therefore, packet loss is a primary factor that affects energy-efficiency at the transport layer.
Another requirement is reliability. For different applications, different levels of reliability may be required. According to the sensitivity of an application to packet loss, two types of reliability can be classified: packet reliability and event reliability. Packet reliability means that the application is very loss-sensitive and requires the successful transmission of each packet. One example of such applications is downstream code distribution or queries. Event reliability stands for the requirement of loss-tolerant applications that allow certain packet loss. For example, the sensor nodes with digital camera can be used to send images to the sink. Since images are somewhat loss-tolerant, the sink does not need to correctly receive every packet, but only a certain percentage of packets.
Yet another requirement is QoS. Sensor nodes can be used to transmit continuous images for target tracking. In this scenario, the sensor nodes generate high-speed data flows and require larger bandwidth than event-based applications. For some delay-sensitive applications, such as commands to task sensor nodes, a network must guarantee real-time data transmission. As mentioned before, some applications are loss-sensitive and cannot stand packet loss or require a very small packet loss ratio. Therefore, a transport protocol may need to support traditional QoS in terms of throughput, packet delivery latency, and packet loss ratio. The difference is that in a WSN these QoS metrics should be guaranteed in a highly energy-efficient way.
Fairness is another requirement. Sensor nodes are usually scattered in a geographical area to collect information. Due to the many-to-one convergent nature of upstream traffic, it is much more difficult for the sensor nodes far away from the sink to successfully transmit their sensory data to the sink. In order to let the sink have full information on the entire sensed area, a transport protocol should provide fair bandwidth allocation among all sensor nodes so that the sink can get the same number of packets from each sensor node during a period of time.
These distinctive features of WSNs and new performance metrics pose significant challenges on the design of a WSN that can meet application requirements and operate as long as possible. Usually, the QoS of an application and the lifetime of a network are contradictory to each other.